package com.cy.pj.sys.service;

import com.cy.pj.common.pojo.CheckBox;
import com.cy.pj.sys.pojo.SysRole;

import java.util.List;

public interface SysRoleService {
    /**
     * 基于条件查询角色信息
     * @param sysRole 封装了查询条件的对象
     * @return 查询到的角色信息
     */
    List<SysRole> findRoles(SysRole sysRole);

    /**
     * 新增角色以及角色对应的菜单关系数据
     * @param sysRole 封装了要新增的角色信息
     * @return
     */
    int saveRole(SysRole sysRole);

    /**
     * 基于角色 id 查询角色以及角色对应菜单关系数据
     * @param id
     * @return
     */
    SysRole findById(Integer id);

    /**
     * 基于角色 id 更新角色以及角色对应的菜单关系数据
     * 1)更新角色以及角色
     * 2)更新角色和菜单关系数据
     * 2.1)删除原有关系
     * 2.2)添加新的关系
     * @param sysRole
     * @return
     */
    int updateRole(SysRole sysRole);


    /**
    * 查询角色 id 和角色 name，
    * 每行记录封装为一个 CheckBox 对象，
    * 后续在为用户分配角色时会用到。
    * @return
    */
    List<CheckBox> findCheckRoles();
}
